import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout, QHBoxLayout


class Example(QWidget):

    def __init__(self):
        super().__init__()

        # 创建一个水平布局管理器
        hbox = QHBoxLayout()

        # 创建按钮并添加到水平布局中
        btn1 = QPushButton('按钮1')
        btn2 = QPushButton('按钮2')
        btn3 = QPushButton('按钮3')
        hbox.addWidget(btn1)
        hbox.addWidget(btn2)
        hbox.addWidget(btn3)

        # 设置控件之间的间距和边距
        hbox.setSpacing(10)
        hbox.setContentsMargins(20, 20, 20, 20)

        # 创建一个垂直布局管理器，并将水平布局添加到其中
        vbox = QVBoxLayout()
        vbox.addLayout(hbox)

        # 设置窗口的布局为垂直布局
        self.setLayout(vbox)

        # 设置窗口的标题和大小
        self.setWindowTitle('QHBoxLayout 示例')
        self.setGeometry(100, 100, 300, 200)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    ex.show()
    sys.exit(app.exec_())